老公老公~我看JD上好多都有寫到「具備Git版控使用經驗及概念」「熟悉版本控制工具,特別是 Git」、「版本控管: 以 Git 為主」,感覺Git很重要,如果想快速掌握全貌,我需要知道哪些東西呢?
Git,它不只是一個工具,更是開發軟體的得力夥伴。在軟體開發的世界裡,Git像是一位無所不知的守護者,精準地記錄每一次程式碼的改變。這個能力,不僅能讓你掌握專案的每個異動,更讓多位開發者能輕鬆協作,無縫地將各自的貢獻合併成完美的程式碼。
你可以把 Git 想像成一個奇妙的工具,能讓你的團隊更高效率地共同開發,確保每個版本的程式碼都得到精確的記錄和管理,是軟體公司不可或缺的版本控制工具。
故事:小明和小華的合作專案
有一天,小明和小華要一起合作開發一個魔法APP,他們想利用Git來有效地協作。小明擁有遠端魔法儲存庫,而小華想在自己的電腦上進行開發。
在開始之前,小明已經在他的遠端魔法儲存庫中保存了一份魔法書,裡面記載著他的所有魔法。現在,小華希望能複製這本魔法書,以便在自己的電腦上進行魔法的編寫。
複製遠端到本機:
小華打開他的電腦,啟動Git,然後選擇「複製遠端專案」,這個動作叫做「Clone」。這一步就像他從遠端魔法儲存庫的書中複製了魔法內容,讓他能在自己的書上編寫新魔法。現在,他擁有了一本自己的魔法書,也就是本地儲存庫。
進行基本操作:
小華開始在他的魔法書上編寫新的魔法,就像他在開發新功能一樣。每當他編寫了一段新的魔法,他就會打包這些想法、簡述紀錄在日記上,這個動作叫做「Commit」。他可以每次寫一點,然後Commit一次,也可以一次寫好多,然後再Commit。
拉新分支進行開發:
小華突然想到一個新魔法的點子,但他不想在主魔法書上寫,怕搞砸了。於是他決定打開一張白紙,也就是新的頁籤(分支),他可以在這張白紙上盡情寫下新魔法,而不影響主魔法書。這樣,他就打開了新的分支,可以在這上面開發新的功能。
推送新分支到遠端:
小華覺得他新魔法的點子實在太棒了,他想讓小明也看到。他把這張白紙(新分支)也推送給小明,這樣小明就可以在自己的書(遠端儲存庫)上看到這個新魔法了。
這樣,小明和小華就能輕鬆地在魔法專案上進行協作,他們可以盡情的測試魔法,也能夠保留每次魔法的歷史版本,並在新分支上獨立開發新功能,讓合作更加彈性和順暢!
有聽過80/20法則嗎? 只要熟悉這20%的Git概念就足以應付80%的專業溝通了!
1. 儲存庫(Repository)
在PM世界中,我們可能有很多的「專案資料夾」,而在Git世界中,我們會稱之為「儲存庫」(Repository、Repo、倉庫)喔!
在Git中,儲存庫是所有操作的核心,指的是拿來放程式碼、歷史記錄和版本資訊的地方。儲存庫內含了專案的所有檔案及版本變更紀錄。
而儲存庫又分為「遠端儲存庫」及「本地儲存庫」:
Remote (遠端儲存庫)
遠端儲存庫指的是位於遠端伺服器上的儲存庫,通常會放在網路上的Git服務平台,如GitHub、GitLab、Bitbucket等。每位開發者可以透過Clone操作,將遠端儲存庫複製到自己的本機,然後在本地進行開發、修改,最後再將修改的部分推送(Push)回遠端儲存庫。
Local (本地儲存庫)
本地儲存庫是位於開發者電腦上的儲存庫。當Clone遠端儲存庫時,就會在電腦上建立一份本地儲存庫。開發者可以在本地儲存庫進行開發、修改、Commit變更,這些變更會暫時保留在開發者電腦上,直到決定推送(Push)這些變更時,才會真的存到遠端儲存庫。
2. Clone (複製儲存庫)
透過Clone,開發者可以複製遠端儲存庫至本地端,便能在自己的電腦上進行開發。
3. Commit (提交變更)
開發者可以將相關的變更打包成一次Commit留下紀錄,以便日後追蹤和回溯。
4. Push (推送變更)
Push能讓開發者將本地儲存庫的Commit推送至遠端儲存庫&讓其他協作者能夠查看和使用。
5. Pull (拉取變更)
Pull能讓開發者將遠端儲存庫的所有變更,更新到自己的本地儲存庫,以確保專案程式碼總是處於最新狀態。
6. Branch (分支管理)
Branch讓開發者能在同一專案上同時進行不同的開發工作,每個分支可獨立進行變更,最後再合併回主要分支,有助多人協作開發。
對於完全新手的人來說,也許可以透過以下三個步驟循序漸進的練習:
1. 借助GUI工具 - 推薦SourceTree
初學者的話,不建議一下就跳到指令操作,可以先從GUI下手,網路上有許多免費的Git視覺化工具,如果不知道怎麼選,也可以試試看「SourceTree」這套,可以從網路上找教學來跟著操作,譬如建立一個本地儲存庫,試著操作commit,體驗將變更打包的感覺。
2. 給自己的練習題
當自己對一些基本操作有概念之後,可以進一步在Github上建立一個自己的遠端儲存庫,並將練習的程式push上去。
3. 用Github練習
除了在本地建立一個儲存庫,也可以到Github試著去clone別人的專案,體驗一下將別人程式碼拉下來的感覺。
30天精通Git版本控管 https://ithelp.ithome.com.tw/articles/10132053
《SourceTree》使用 Git 必備的版本控管工具 https://www.inote.tw/sourcetree